1. Technical Field
The present invention relates generally to distributed computer systems, and in particular, to a system and method enabling integration of network-based resource discovery and access into local command interpreter paths.
2. Description of the Related Art
The widespread adoption of Internet-related technology such as the HyperText Transport Protocol (HTTP) has resulted in the rapid development of a global network of millions of interconnected computers. The establishment of Wide Area Networks (WANs), such as the Internet, has spurred a trend toward organizing the computational/processing capacity of a number of computers into one or more so-called “grids,” which are logical organizations of multiple computers that provide a collective sharing of computational capacity and datastore capacity while maintaining local autonomous control over individual computers.
Individual computer nodes in such a network may be configured for performing specialized data processing tasks related to specific data. It is also becoming more common to assign several different network processing nodes to “solve” a common problem, such as a complex calculation. A set of nodes participating in such a resource sharing scheme is often referred to as a “grid” or “grid network.” For example, nodes in a grid network may share processing resources to perform a complex computation, such as deciphering encryption keys.
Grid computing has emerged as an important distributed processing innovation, distinguished from conventional distributed computing by its emphasis on large-scale processor resource sharing. To this end, grid platforms support sharing, exchange, discovery, selection, and aggregation of geographically/network distributed heterogenous resources including computers, databases, visualization devices, scientific instruments, etc.
At one level, grid computing comprises entering a grid task or “job” to be delivered for processing to the grid system. Examples of grid jobs include application related requests, executable commands, multi-command scripts, etc. The grid system handles such task or job requests using “grid services” that return to the requesting client a suitable response depending on the nature of the submitted job. Conventional grid computing platforms include resource sharing and discovery features such as brokers and lookup mechanisms to facilitate retrieval of data and computing resources responsive to a submitted job.
While grid architectures provide several network-side resources to assist in accessing requested resources, little if any client-side resource discovery support is provided, particularly as it relates to the command path of a local operating system. For example, a conventional grid job is submitted on a client node from which it may be executed via a browser connected to a grid server or entered as a command such as globus-managed-job-run, with the approximate syntax of, “globus-managed-job-run <remote_hostname> <job_name> <job_parameters>.” In this example, “remote_hostname” designates the grid service node (sometimes referred to as a grid resource), “job_name” designates the command to be executed, and “job parameters” designates the argument parameters (often one or more filenames). This manner of grid service execution requires the client, or more specifically the user at the local client station, to realize that the requested command or task is or may be a grid job, and consequently that an alternate command entry mechanism (grid server connected browser, direct access to identified grid server, etc.) must be utilized possibly in conjunction with invoking a network access application such as a web browser. Requiring pre-knowledge of grid versus non-grid jobs is unduly burdensome given the surge in popularity of grid computing, particularly for users not directly involved in the grid networking aspects of a given data processing system.
From the foregoing, it can be appreciated that a need exists for a method, system, and computer program product that address the foregoing problems relating to the grid command processing. The present invention addresses these and other needs unresolved by the prior art.